Programs as proofs

نویسنده

  • Jørgen Steensgaard-Madsen
چکیده

The Curry-Howard correspondence is about a relationship between types and programs on the one hand and propositions and proofs on the other. The implications for programming language design and program verification is an active field of research. Transformer-like semantics of internal definitions that combine a defining computation and an application will be presented. By specialisation for a given defining computation one can derive inference rules for applications of defined operations. With semantics of that kind for every operation, each application identifies an axiom in a logic defined by the programming language, so a language can be considered a theory.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On automating the extraction of programs from proofs using product types

Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). Introduction • We are interested in programming language with the point of view: Proofs as Programs (Curry-Howard correspondence). • The specifications are the types and the lambda-terms are the extracted programs (the code). Introduction • We are interested in prog...

متن کامل

Proofs-as-Programs in Computable Analysis (extended abstract)

Since the work of Brouwer, Kolmogorov, Goedel, Kleene and many others we know that constructive proofs have computational meaning. In Computer Science this idea is known as the ”proofs-as-programs paradigm” or ”Curry-Howard correspondence”. We present examples from computable analysis showing that this paradigm not only works in principle, but can be used to automatically synthesise practically...

متن کامل

Natural proofs versus programs optimization in the Calculus of Inductive Constructions

This paper presents how to automatically prove that an \opti-mized" program is correct with respect to a set of given properties that is a speciication. Proofs of speciications contain logical and computational parts. Programs can be seen as computational parts of proofs. They can thus be extracted from proofs and be certiied to be correct. The inverse problem can be solved: it is possible to r...

متن کامل

Proofs, programs and executable specifications in higher order logic

This thesis presents several extensions to the generic theorem prover Isabelle, a logical framework based on higher order logic. The central contribution of this thesis is the extension of Isabelle with a calculus of primitive proof terms, in which proofs are represented using λ-terms in the spirit of the Curry-Howard isomorphism. Primitive proof terms allow for an independent verification of p...

متن کامل

Recursive Programming with Proofs

There has been a lot of work based on the paradigm “proofs as programs”, leading to sophisticated realizations (see e.g. [2,4, 133). An expected benefit is the development of correct programs, but, so far, no programming language in current use came from these works. The difficulty is the apparent distance between proofs and programs: the proofs are often complicated and the extracted programs ...

متن کامل

An analysis of the constructive content of Henkin’s proof of Gödel’s completeness theorem DRAFT

Gödel’s completeness theorem for first-order logic is one of the best-known theorems of logic. Central to any foundational course in logic, it connects the notion of valid formula to the notion of provable formula. There are various views on the completeness theorem, various presentations, various formalisations, various proofs of it. We survey the most standard different approaches and eventua...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1509.04040  شماره 

صفحات  -

تاریخ انتشار 2015